$(function() {
	// 弹出框中模块信息的伸缩
	$('.dialog-title').click(function() {
		if(!$(this).hasClass('slided')) {
			$(this).addClass('slided');
			$(this).children(".fa").removeClass("fa-minus-square");
			$(this).children(".fa").addClass("fa-plus-square");
			$(this).next().slideUp(100);
		} else {
			$(this).removeClass('slided');
			$(this).children(".fa").removeClass("fa-plus-square");
			$(this).children(".fa").addClass("fa-minus-square");
			$(this).next().slideDown(100);
		}
	});
	
	// 取消验证失败提醒边框
	$("input").click(function() {
		$("input").removeClass("unvalidate");
		$(".unvalidate-info").remove();
	})
	
	// 表单验证
	$('.submit-btn').click(function() {
		var ifvalidate = true;
		$(".unvalidate-info").remove();
		// 遍历一般表单
		$("input").each(function(index, element) {
			var validateStr = $(this).attr("validate");
			if (validateStr != '' && validateStr != null) {
				var validateArr = validateStr.split(",");
				var val = $(this).val().trim();
				// 循环验证类型
				for (var i=0; i<validateArr.length; i++) {
					// 必填
					if (validateArr[i] == 'not-null') {
						if (val=='') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>请录入必填项！</font>");
							/*art.dialog.tips('请录入必填项！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 特殊字符
					} else if (validateArr[i] == 'special-char') {
						var regOrg=/^([\u4E00-\u9FA5]|\w)*$/;
						if(!regOrg.test(val)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>不能有特殊字符！</font>");
							/*art.dialog.tips('不能有特殊字符！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 身份证号
					} else if (validateArr[i] == 'cardno') {
						var regOrg=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
						if(!regOrg.test(val)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>身份证格式不正确！</font>");
							/*art.dialog.tips('不能有特殊字符！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 手机号
					} else if (validateArr[i] == 'telephone') {
						var regOrg_tell = /^0\d{10}$/, regOrg_phone = /^1\d{10}$/;
						if(!regOrg_phone.test(val) && !regOrg_tell.test(val) && val != '') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>手机号格式不正确！</font>");
							/*art.dialog.tips('手机号格式不正确！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 邮件
					} else if (validateArr[i] == 'mail') {
						var emailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
						if(!emailReg.test(val) && val != '') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>邮件格式不正确！</font>");
							/*art.dialog.tips('邮件格式不正确！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 正整数
					} else if (validateArr[i] == 'pos-int-no0') {
						var regEx=/^[0-9]*[1-9][0-9]*$/;
						if(!regEx.test(val)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>请输入正整数！</font>");
							/*art.dialog.tips('请输入正整数！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 只能输入正数或小数点两位的数
					} else if (validateArr[i] == 'pos-int-float2') {
						var regEx=/^((?:-?0)|(?:-?[1-9]\d*))(?:\.\d{1,2})?$/;
						if(!regEx.test(val)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>请输入数字且小数不超过2位！</font>");
							/*art.dialog.tips('请输入正整数！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 密码
					} else if (validateArr[i] == 'password') {
						var regEx=/((?=.*[0-9])(?=.*[^0-9])|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))^.{8,20}$/;
						if(!regEx.test(val) && val != '******') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>密码长度8到20位且必须包含数字、字母、字符中的至少两种！</font>");
							/*art.dialog.tips('密码长度8到20位且必须包含数字、字母、字符中的至少两种！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 单列 必填
					} else if (validateArr[i] == 'not-null2') {
						if (val=='') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).next('span').after("<font class='unvalidate-info' style='margin-left:5px' color='red'>请录入必填项！</font>");
							/*art.dialog.tips('请录入必填项！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 单列 密码
					} else if (validateArr[i] == 'password2') {
						var regEx=/((?=.*[0-9])(?=.*[^0-9])|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))^.{8,20}$/;
						if(!regEx.test(val)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='margin-left:5px' color='red'>密码长度8到20位且必须包含数字、字母、字符中的至少两种！</font>");
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 图片选择 必填
					}  else if (validateArr[i] == 'not-null3') {
						if (val=='') {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).next('a').after("<font class='unvalidate-info' style='float:left' color='red'>请录入必填项！</font>");
							/*art.dialog.tips('请录入必填项！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 数据范围n<m
					}  else if (validateArr[i].indexOf("compare") >= 0) {
						var index = validateArr[i].indexOf("]") - 8;
						var str = validateArr[i].substr(8, index);
						var arr = str.split("|");
						var min = arr[0];
						var max = arr[1];
						
						if (parseInt(val) < parseInt(min) || parseInt(val) > parseInt(max)) {
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>请录入 " + min + " 到 " + max + " 范围内的数字！</font>");
							/*art.dialog.tips('请录入必填项！', 2);*/
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 版本号检查
					} else if (validateArr[i] == 'version') {
						var regEX = /^[1-9]{1}.[0-9]{1}.[0-9]{1}.[0-9]{3}$/;
						if(!regEX.test(val)){
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>请输入1.0.0.000格式版本号！</font>");
							ifvalidate = false;
							$(this).focus();
							return false;
						}
						// 不带中文字符
					} else if (validateArr[i] == 'no-cn') {
						var regEX = /.*[\u4e00-\u9fa5]+.*$/;
						if(regEX.test(val)){
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).after("<font class='unvalidate-info' style='float:left' color='red'>不能带中文字符！</font>");
							ifvalidate = false;
							$(this).focus();
							return false;
						}
					} else if (validateArr[i] == 'no-cn3') {
						var regEX = /.*[\u4e00-\u9fa5]+.*$/;
						if(regEX.test(val)){
							$(this).addClass("unvalidate");
							$('#' + $(this).attr("id")).next('a').after("<font class='unvalidate-info' style='float:left' color='red'>不能带中文字符！</font>");
							ifvalidate = false;
							$(this).focus();
							return false;
						}
					}
				}
			}
	    });
		
		// 通过验证
		if (ifvalidate) {
			submitForm();
		} else {
			return false;
		}
		
	});
	
//	$('.query-detail-title-nojs').click(function() {
//		if(!$(this).hasClass('slided')) {
//			$(this).addClass('slided');
//			$(this).children(".fa").removeClass("fa-minus-square");
//			$(this).children(".fa").addClass("fa-plus-square");
//			$(this).next().slideUp(100);
//		} else {
//			$(this).removeClass('slided');
//			$(this).children(".fa").removeClass("fa-plus-square");
//			$(this).children(".fa").addClass("fa-minus-square");
//			$(this).next().slideDown(100);
//		}
//	});
	
	try {
		// 页面信息提示
		if (returnMsg != null && returnMsg != '') {
			art.dialog.close();
			art.dialog.alert(returnMsg, function() {});
		}
		// 权限控制对话提醒
		if (authoriMsg != null && authoriMsg != '') {
			art.dialog.tips(authoriMsg, 2);
			art.dialog.close();
			art.dialog.tips(authoriMsg, 2);
			
		}
	} catch (err) {
		return true;
	}
	
});
